Computer program product and computing system for information organization using markup languages

ABSTRACT

The presentation of information in HTML files is desirably enhanced by the use of one or more separate scripting Javascript™ files, referenced from the HTML file, which uses information presented as variables in the HTML file. In this manner, a high degree of formatting flexibility can be achieved, while reducing the likelihood of errors in the HTML pages, improving ease of site maintenance, and standardizing the “look and feel” of the site. Improvements in the network bandwidth required to browse sites organized in this manner can also be achieved in favorable instances.

CROSS REFERENCE TO RELATED APPLICATION

This is a continuation of, and hereby claims the benefit of the prioritydate of, application Ser. No. 09/907,113 of Jul. 17, 2001 now U.S. Pat.No. 7,349,916.

FIELD OF THE INVENTION

The invention relates to organizing information and particularly, thoughnot exclusively, to the formatting and presentation of information usingthe hypertext markup language (HTML) on World Wide Web (Web) sitesaccessed via the Internet global communications network.

BACKGROUND

Many Web sites hosted on the Internet typically comprise an often largenumber of separate HTML files that are interpretable by Web browsersoperating on client terminals connected to the Internet. The HTML filesare rendered by the browser so that the information within the HTML fileis appropriately formatted for presentation by the browser.

There is often a considerable overhead associated with the non-data orformatting protocols used by these HTML files. For example, in somecases, especially involving tables, formatting tags can represent 3times the data of the actual information content of the file.

Cascading style sheets (CSS) have been proposed as a method of moreconveniently formatting Web sites across HTML documents. However, theuse of style sheets is limited due to the inherent limitations of thedefined standard, which dictates only a limited number of possiblestyles.

In view of the above, an improved method of organizing information inthe context of, for example, markup languages, which at least attemptsto address these and other limitations associated with existingtechniques, is clearly desirable.

SUMMARY

Presentation of information in HTML files is desirably enhanced by theuse of separate scripting files, referenced from the HTML file, whichuses information presented as variables in the HTML file. In thismanner, a high degree of formatting flexibility can be achieved, whilereducing the likelihood of errors in the HTML pages, improving ease ofsite maintenance, and standardising the “look and feel” of the siteimprovements in the network bandwidth required to browse sites organisedin this way can also be achieved in favourable instances.

A method of providing information files structured in a format having apredefined language and syntax involves providing a source file in aprimary language and a supporting auxiliary file in a secondarylanguage. The source file defines source variables interpretable bystatements in the auxiliary file, and includes a reference to thesestatements in the auxiliary file. As a result, the source file isinterpretable as statements wholly in the primary language, via thereference to the auxiliary file. Related techniques involve creating,organising or interpreting such information files. Information files socreated can be stored and provided for access by third parties on aserver or through an accessible storage medium.

The primary language is a formatting or descriptive language, or moreparticularly one of the existing markup languages such as HTML or, moregenerally, XML. The secondary language is a scripting, interpreted orfunctional language able to interpret variables from the source HTMLfile, and use those variables to generate HTML formatting statements. Anexample of a suitable language is the Javascript™ language. The sourcevariables represent information particular to the HTML file, which theauxiliary file formats in a defined manner. The use of this arrangementis particularly advantageous if there are a large number of HTML pagescontaining corresponding data values that are appropriately formatted ina common way by a single auxiliary Javascript™ file.

DESCRIPTION OF DRAWINGS

FIG. 1 is a schematic representation of a server connected to theInternet and serving various client terminals, in which the server isable to host information files.

FIG. 2 is a flowchart of the steps which occur in interpretinginformation files.

FIG. 3 is a schematic representation of structure and components of theinformation files referred to in FIG. 2.

FIG. 4 is a listing of the contents of a first example HTML file.

FIGS. 5A and 5B is a listing of the contents of a first exampleJavascript™ file.

FIGS. 6A and 6B is an equivalent listing of the contents of the firstexample HTML file of FIG. 4, after the reference to the Javascript™ fileof FIGS. 5A and 5B has been taken into account to provide HTMLformatting information to the data stored in the HTML file.

FIG. 7 is a listing of the contents of a second example HTML file.

FIGS. 8A and 8B is a listing of the contents of a second exampleJavascript™ file.

FIGS. 9A and 9B is an equivalent listing of the contents of the secondexample HTML file of FIG. 7, after the reference to the Javascript™ fileof FIGS. 8A and 8B has been taken into account to provide HTMLformatting information to the data stored in the HTML file.

FIG. 10 is a representation rendered by a compatible Web browser, of thefirst and second example HTML files of FIGS. 4 and 7, in conjunctionwith the respective Javascript™ files of FIGS. 5A and 5B, and FIGS. 8Aand 8B.

FIG. 11 is a schematic representation of a computing system appropriatefor the use of the server or client terminals of FIG. 1, and with whichthe information files described herein can be generated, stored, andinterpreted.

DETAILED DESCRIPTION

A technique for providing HTML files that use the Javascript™ scriptinglanguage to provide formatting information is described.

FIG. 1 represents the context in which the HTML and Javascript™ filesare used. Client computer systems 110 connect to the Internet 120, towhich the server 130 is also connected. The server 130 has stored asource HTML file 140 and a supporting auxiliary Javascript™ file 150. Inpractice, various HTML files 140 are hosted and can refer to a smallernumber (or even a single) Javascript™ file 150.

FIG. 2 represents the steps involved in providing a HTML file 140 with asupporting Javascript™ file 150. First, the HTML file 140 is created instep 210, containing statements necessary for interpretation as an HTMLfile. Various source variables are defined within the HTML file 140,relating to the relevant data conveyed by the HTML file 140. Asupporting auxiliary Javascript™ file 150 is then created in step 230.In the Javascript™ file 150, step 240 includes a single function inwhich various Javascript™ statements are defined to generate HTMLformatting statements. These statements use source variables defined inthe HTML file 140. In step 250, a reference is included in the HTML file140 where appropriate to the formatting function earlier defined in theJavascript™ file 150.

The result is that when the HTML file 140 is interpreted, by a Webbrowser, the HTML file 140 calls the formatting function of theJavascript™ file 150 to generate regular HTML statements involving thesource variables within the HTML file 140. This outcome and the benefitsof this arrangement are illustrated by the following example given inFIGS. 3 to 5.

FIG. 3 represents in overview the structure and components of the HTMLand Javascript™ files 140, 150, as described above. As noted, the HTMLfile 140 contains:

-   -   a reference 342 to the Javascript™ file 150    -   various defined source variables 344    -   a function call 346 to the Javascript™ file 150

The Javascript™ file 150 contains a formatting function 352 which usesthe defined source variables in the HTML file 140. The reference 342establishes a link between the two files 140, 150, while the functioncall 346 triggers execution of the function 352 defined within theJavascript™ file 150.

The above described architecture of the HTML file 140 and Javascript™file 150, and their interaction with each other, is now described withreference to two particular examples.

For both examples, the HTML file 140 is entitled navjs.html, and theJavascript™ file is entitled idpnav.js. An equivalent file listing isgiven for both HTML files 140, once expanded with the formattinginformation supplied by the Javascript™ files 150.

Though each example is described in turn below, the following commentsare made in respect of the differences between these two examples.

The first example uses a series of Javascript™ functions in the HTMLfile 140 of FIG. 4, while the second example uses a single, morecomplicated, Javascript™ function in the HTML file 140 of FIG. 7. In thefirst example, a number of relatively small functions in the Javascript™file 150 of FIG. 4 have defined functions in the task of informationformatting. By contrast, in the second example, the single function ofthe Javascript™ file 150 of FIG. 7 understands the structure of the (inthis case, three) arrays which are passed to the Javascript™ file.

The first example is now described directly below with reference toFIGS. 4, 5A and 5B, and 6A and 6B.

FIG. 4 illustrates the contents of the HTML file 140, which containsHTML statements. The HTML statements include source variabledefinitions, as well as reference to an external file (the Javascript™file 150) and formatting functions contained within that Javascript™file 150. The HTML file 140 refers to the Javascript™ file 150, titledidpnav.js, after the first <SCRIPT> tag. This is the auxiliary file.After the second <SCRIPT> tag, a number of source variables 344 aredefined as arguments of references 346 to various Javascript™ functions(in this case, _B( ); _L( ); _S( ); _H( ); and _E( )) with which therespective arguments or source variables 344 are associated.

FIGS. 5A and 5B jointly list the contents of the Javascript™ file 150,idpnav.js, as referred to by the HTML file 140 of FIG. 4. ThisJavascript™ file defines various formatting functions 352, describedbelow, which are referenced by the HTML file 140, as noted above. Thesefunctions 352 each defines various specific formatting functions whichuse the source variables 344 which are included in the HTML file 140 asarguments to these functions.

The functions each define includes various document.writeln or outputstatements that generate strings which are valid HTML statements forinclusion in the HTML file 140.

An author of the HTML file 140 is familiar with the operation of thevarious (five) formatting functions 352 included in the HTML file 140.These are:

-   -   _B(tm) for “Begin Menu”. The “tm” parameter is the white margin        left at the top of the menu.    -   _L(i, txt, url) for “Menu Link Item”. The “i” parameter is the        indent (1, 2 or 3), the “txt” is the text that is displayed in        the menu and the “url” is the link information—what URL is        linked to if the user “clicks” this menu item.    -   _H(i, txt) for “Menu Highlighted Item”. The “i” is again the        indent and the “txt” is the text that is displayed—and        highlighted. This should represent the current page (thus there        is no link).    -   _S(i) for “Menu Spacer”. The “i” is again the indent. This        function just leaves a “blank line” in the menu.    -   _E( ) for“End of Menu”.

The JavaScript™ file 150 has various other functions (which can beidentified as they are all in lower case rather than upper case) besidesthe five main functions 352 referenced by the HTML file 140. The onlyfunctions that need concern an author of the HTML file 140 are theformatting functions 352 discussed above that are included in the HTMLfile 140, and which are in upper case in the Javascript™ file 150.

FIGS. 6A and 6B jointly represent the HTML file 140 of FIG. 4 when thereferences 346 to the formatting functions 352 is replaced by theequivalent HTML statements generated by the formatting functions 352 ofthe Javascript™ file 150 for the particular source variables 344 definedin the HTML file 140 as arguments to the formatting functions 352.

The second example is now described directly below with reference toFIGS. 7, 8A and 8B and 9A and 9B, in similar terms as the first example.

FIG. 7 illustrates the contents of the HTML file 140, which containsvarious HTML statements. The HTML statements include source variabledefinitions, as well as reference to an external file (the Javascript™file 150) and the formatting function contained within that file 150.The HTML file refers to the Javascript™ file 150, titled idpnav.js,after the first <SCRIPT> tag. This is the auxiliary file. After thesecond <SCRIPT> tag, a number of source variables 344 are defined astext strings or text string arrays. Standard HTML statements follow,leading to a reference 346 to the Javascript™ function getnavigator( )after the third <SCRIPT> tag.

FIGS. 8A and 8B jointly list the contents of the Javascript™ file 150,titled idpnav.js, as referred to by the HTML file 140 of FIG. 4. ThisJavascript™ file 150 defines a single formatting function 352, titledgetNavigator( ), which was referenced by the HTML file 140, as notedabove. The getNavigator( ) function 352 defines various internalvariables or strings based on the source variables of the HTML file 140,and includes various document.writeln or output statements that generatestrings which are valid HTML statements for inclusion in the HTML file140. These strings are variously formed from possible combinationsinvolving string text, internal string variables and source variables.Such output statements may be provided by repetitive (for loops) orconditional (if statement) inclusion in the HTML file 140.

FIGS. 9A and 9B jointly represent the HTML file 140 of FIG. 4 when thereference to the getNavigator( ) function 352 is replaced by theequivalent HTML statements generated by the getNavigator( ) function 352of the Javascript™ file 150 for the particular source variables 344defined in the HTML file 140.

The “expanded” HTML listings in FIGS. 6A and 6B, and FIGS. 9A and 9B areessentially equivalent to each other. For the two examples presented,the HTML file 140 of FIG. 4 and the Javascript™ file 150 of FIGS. 5A and5B represent HTML statements that are closely similar to HTML statementsrepresented by the corresponding combination of HTML file 140 of FIG. 7and Javascript™ file 150 of FIGS. 8A and 8B. There are minor differencesbetween FIGS. 6A and 6B and FIGS. 9A and 9B, but these are cosmetic innature. Accordingly, both examples render in a similar manner in aJavascript™-enabled HTML Web browser application such as NetscapeNavigator™.

FIG. 10 represents the HTML file 140 of FIG. 4/7, when interpreted orrendered by a Web browser (in this case Netscape Navigator™) withreference to the Javascript™ file 150 of FIGS. 5A and 5B/FIGS. 8A and8B. The Web browser is effectively rendering the equivalent HTMLstatements of FIGS. 6A and 6B/FIGS. 9A and 9B.

The implementation provided in the first example is generally preferredover that provided in the second example. Interpretation of arrays inthe Javascript™ file 150 is avoided, and the menu information appears inthe HTML file 140 where it also appears in the rendered document,illustrated in FIG. 10. In the two examples given, the first exampleoccupies approximately 400 bytes less storage capacity compared with thesecond example.

With reference to the two examples described above, the expandednotional HTML files of FIGS. 6A and 6B, and FIGS. 9A and 9B can berepresented more compactly in the form of the HTML file 140 of FIG. 4 orFIG. 7. The HTML file 140 relies on a single supporting Javascript™ file150 of FIGS. 5A and 5B, or FIGS. 8A and 8B. This Javascript™ file 150includes the necessary formatting information to generate expandednotional HTML statements with reference to information in the HTML file140.

By extension from the two examples given above, a family of similar HTMLpages can more conveniently maintained and formatted in a standardmanner with reference to a single supporting Javascript™ file of thetype described. As Web browsers typically cache accessed files for lateraccess, there can be bandwidth savings if the browser does not need torepetitively access similar formatting information for a number of HTMLfiles that is now conveniently included in a single Javascript™ file.

The HTML and Javascript™ files described in the above examples are usedin conjunction with servers 130 and client computer terminals 110. Thesedevices 110, 130 are both representative of a general purpose computersystem 1100 of FIG. 11, which is generically described below in relationto a computing system 1100. The above described process can beimplemented using a computer program product in conjunction with acomputer system 1100 as shown in FIG. 11. In particular, the process canbe implemented as a computer software program, or some other form ofprogrammed code, executing on the computer system 1100.

As noted, FIG. 11 is a schematic representation of the computer system1100 which can be used to perform steps in a process which implementsthe techniques described herein. The computer system 1100 is providedfor the purpose of executing computer software which is programmed toassist in performing the described techniques. This computer softwareexecutes under a suitable operating system installed on the computersystem 1100.

The computer software involves a set of programmed logic instructionsthat are able to be interpreted by the computer system 1100 forinstructing the computer system 1100 to perform predetermined functionsspecified by those instructions. The computer software can be anexpression recorded in any language, code or notation, comprising a setof instructions intended to cause a compatible information processingsystem to perform particular functions, either directly or afterconversion to another language, code or notation.

The computer software is programmed by a computer program comprisingstatements in an appropriate computer language. The computer program isprocessed using a compiler into computer software which has a binaryformat suitable for execution by the operating system. The computersoftware is programmed in a manner which involves various softwarecomponents, or code means, that perform particular steps in the processof the described techniques.

The components of the computer system 1000 include: a computer 1120,input devices 1110, 1115 and video display 1170. The computer 1120includes: processor 1140, memory module 1150, input/output (I/O)interfaces 1160, 1165, video interface 1145, and storage device 1155.

The processor 1140 is a central processing unit (CPU) that executes theoperating system and the computer software executing under the operatingsystem. The memory module 1150 include random access memory (RAM) andread-only memory (ROM), and is used under direction of the processor1140.

The video interface 1145 is connected to video display 1190 and providesvideo signals for display on the video display 1170. User input tooperate the computer 1130 is provided from input devices 1110, 1115consisting of keyboard 1110 and mouse 1115. The storage device 1155 caninclude a disk drive or any other suitable non-volatile storage medium.

Each of the components of the computer 1120 is connected to a bus 1130that includes data, address, and control buses, to allow thesecomponents to communicate with each other via the bus 1130.

The computer system 1100 can be connected to one or more other similarcomputers via a input/output (I/O) interface 1165 using a communicationchannel 1185 to a network 1180, represented as the Internet.

The computer software program may be provided as a computer programproduct, and recorded on a portable storage medium. In this case thecomputer software program is accessed by the computer system 1100 fromthe storage device 1162. Alternatively, the computer software can beaccessed directly from the network 1180 by the computer 1120. In eithercase, a user can interact with the computer system 1100 using thekeyboard 1110 and mouse 1115 to operate the programmed computer softwareexecuting on the computer 1120.

The computer system 1100 is described for illustrative purposes: otherconfigurations or types of computer systems can be equally well used toimplement the described techniques. The foregoing is only an example ofa particular type of computer system suitable for implementing thedescribed techniques.

It is understood that various alterations and modifications can be madeto the techniques and arrangements described herein, as would beapparent to one skilled in the relevant art.

1. A computer program product, stored on a computer readable storagedevice, for creating menus for a number of web pages, the computerprogram product having instructions for execution by a computer, whereinthe instructions, when executed by the computer, cause the computer toimplement a method comprising: receiving, by a computing system, anumber of hypertext markup language (“HTML”) files for a family of webpages, and storing the HTML files in a memory of the computing system;receiving a script file by the computing system and storing the scriptfile in the memory, wherein the script file includes script functionsfor producing menu tables on the web pages to navigate among the webpages, wherein the HTML files have calls to ones of the scriptfunctions; and executing, by a browser of the computing system, a firstone of the HTML files for one of a plurality of web pages in the family,including executing ones of the script functions for which the firstHTML file has calls, wherein the executing includes: insertinghighlighted text in one of said menu tables responsive to the first HTMLfile calling a menu-highlighted-item one of the script functions,including passing text in an argument of the call for themenu-highlighted-item function to insert with highlighting in the one ofthe plurality of web pages; and inserting a link in said menu tableresponsive to the first HTML file calling a menu-link-item one of thescript functions, including passing, in arguments of the call, text anda URL for another one of the web pages in the family for themenu-link-item function to insert in the one of the plurality of webpages, so that the browser renders the one of the plurality of web pageshaving the table for the one of the plurality of web pages, so that thebrowser presents to a user highlighted text in the table for the one ofthe plurality of web pages and presents to the user text and a link inthe table to another one of the web pages in the family.
 2. The computerprogram product of claim 1, wherein the script file functions include abegin-menu function having an HTML tag in the script file, wherein theHTML tag is for beginning a table and the begin-menu function includes awrite-line function in the script file for writing the HTML tag, andwherein the executing of the first HTML file and the ones of the scriptfunctions includes writing a line to the one of the plurality of webpages responsive to the first HTML file calling the begin-menu scriptfunction, wherein the line includes the HTML tag for beginning the menutable.
 3. The computer program product of claim 2, wherein in the HTMLfile for the one of the plurality of web pages, the call to thebegin-menu function includes an argument for a width attribute of atable-data tag in the script file.
 4. The computer program product ofclaim 1, wherein the script file functions include a menu-spacerfunction and wherein the executing of the first HTML file and the onesof the script functions includes inserting space in the menu tableresponsive to the first HTML file calling the menu-spacer function. 5.The computer program product of claim 4, wherein in the first HTML file,the call to the menu-spacer function includes an argument for a functionincluded in the menu-spacer function of the script file.
 6. The computerprogram product of claim 2, wherein the script file functions include anend-of-menu function having a tag in an argument thereof in the scriptfile, the tag being for ending a table, and wherein the executing of thefirst HTML file and the ones of the script functions includes writing aline to the one of the plurality of web pages responsive to the firstHTML file calling the end-of-menu script function, wherein the lineincludes the HTML tag for ending the menu table.
 7. A computer programproduct including a computer readable storage device having storedthereon a family of web pages with menu tables for navigating among thepages, the computer readable storage device including: a number ofhypertext markup language (“HTML”) files for executing by a browser of acomputing system to render a family of web pages; and a script file tothe computing system for executing by the browser, wherein the scriptfile includes script functions for producing menu tables on the webpages to enable navigation among the web pages, wherein one of thescript file functions includes a menu-highlighted-item function forinserting highlighted text in said menu table, and one of the functionsincludes a menu-link-item function for inserting a link in said menutable, wherein the HTML file for one of a plurality of web pages in thefamily includes a call to the menu-link-item function, the callincluding text in an argument of the call for the menu-highlighted-itemfunction to insert with highlighting in one of the plurality of webpages, and the HTML file for the one of the plurality of web pagesincludes a call to the menu-link-item function, wherein arguments forthe menu-link-item function include text and a URL for another one ofthe web pages in the family for the menu-link-item function to insert inthe one of the plurality of web pages, so responsive to the one of theplurality of web pages being executed by the browser, the browserpresents to a user the table for the one of the plurality of web pages,wherein the presented table includes highlighted text for the one of theplurality of web pages and includes text and a link to another one ofthe web pages in the family.
 8. The computer program product of claim 7,wherein the script file functions include a begin-menu function havingan HTML tag in the script file for beginning a table, and wherein thebegin-menu function includes a write-line function in the script file towrite a line to a web page responsive to an HTML file calling thebegin-menu function, wherein the line includes the HTML tag forbeginning the table, and wherein the HTML file for the one of theplurality of web pages includes a call to the begin-menu function toformat the menu table.
 9. The computer program product of claim 8,wherein in the HTML file for the one of the plurality of web pages, thecall to the begin-menu function includes an argument for a widthattribute of a table-data tag in the script file.
 10. The computerprogram product of 7, wherein the script file functions include amenu-spacer function for inserting space in said menu table.
 11. Thecomputer program product of 10, wherein in the HTML file for the one ofthe plurality of web pages, the call to the menu-spacer functionincludes an argument for a function included in the menu-spacer functionof the script file.
 12. The computer program product of 8, wherein thescript file functions include an end-of-menu function having a tag in anargument thereof in the script file, wherein the tag is for ending saidmenu table.
 13. A computer system comprising: a processor; and a storagedevice connected to the processor, wherein the storage device has storedthereon menu creation program for controlling the processor, and whereinthe processor is operative to execute instructions of the program toimplement a method comprising: receiving, by a computing system, anumber of hypertext markup language (“HTML”) files for a family of webpages, and storing the HTML files in a memory of the computing system;receiving a script file by the computing system and storing the scriptfile in the memory, wherein the script file includes script functionsfor producing menu tables on the web pages to navigate among the webpages, wherein the HTML files have calls to ones of the scriptfunctions; and executing, by a browser of the computing system, a firstone of the HTML files for one of a plurality of web pages in the family,including executing ones of the script functions for which the firstHTML file has calls, wherein the executing includes: insertinghighlighted text in one of said menu tables responsive to the first HTMLfile calling a menu-highlighted-item one of the script functions,including passing text in an argument of the call for themenu-highlighted-item function to insert with highlighting in the one ofthe plurality of web pages; and inserting a link in said menu tableresponsive to the first HTML file calling a menu-link-item one of thescript functions, including passing, in arguments of the call, text anda URL for another one of the web pages in the family for themenu-link-item function to insert in the one of the plurality of webpages, so that the browser renders the one of the plurality of web pageshaving the table for the one of the plurality of web pages, so that thebrowser presents to a user highlighted text in the table for the one ofthe plurality of web pages and presents to the user text and a link inthe table to another one of the web pages in the family.
 14. Thecomputer system of claim 13, wherein the script file functions include abegin-menu function having an HTML tag in the script file, wherein theHTML tag is for beginning a table and the begin-menu function includes awrite-line function in the script file for writing the HTML tag, andwherein the executing of the first HTML file and the ones of the scriptfunctions includes writing a line to the one of the plurality of webpages responsive to the first HTML file calling the begin-menu scriptfunction, wherein the line includes the HTML tag for beginning the menutable.
 15. The computer system of claim 14, wherein in the HTML file forthe one of the plurality of web pages, the call to the begin-menufunction includes an argument for a width attribute of a table-data tagin the script file.
 16. The computer system of claim 13, wherein thescript file functions include a menu-spacer function and wherein theexecuting of the first HTML file and the ones of the script functionsincludes inserting space in the menu table responsive to the first HTMLfile calling the menu-spacer function.
 17. The computer system of claim16, wherein in the first HTML file, the call to the menu-spacer functionincludes an argument for a function included in the menu-spacer functionof the script file.
 18. The computer system of claim 14, wherein thescript file functions include an end-of-menu function having a tag in anargument thereof in the script file, the tag being for ending a table,and wherein the executing of the first HTML file and the ones of thescript functions includes writing a line to the one of the plurality ofweb pages responsive to the first HTML file calling the end-of-menuscript function, wherein the line includes the HTML tag for ending themenu table.
 19. A computer system comprising: a processor; and a storagedevice connected to the processor, wherein the storage device has storedthereon a web page family hosting program for controlling the processor,and wherein the processor is operative to execute instructions of theprogram to implement a method comprising: storing a number of hypertextmarkup language (“HTML”) files for a family of web pages in a hostcomputing system memory for rendering by a browser of a client computingsystem; and storing a script file in the memory for executing by thebrowser, wherein the script file includes script functions for producingmenu tables on the web pages to navigate among the web pages, whereinone of the script file functions includes a menu-highlighted-itemfunction for inserting highlighted text in said menu table, and one ofthe functions includes a menu-link-item function for inserting a link insaid menu table, wherein the HTML file for one of a plurality of webpages in the family includes a call to the menu-link-item function, thecall including text in an argument of the call for themenu-highlighted-item function to insert with highlighting in the one ofthe plurality of web pages, and the HTML file for the one of theplurality of web pages includes a call to the menu-link-item function,wherein arguments for the menu-link-item function include text and a URLfor another one of the web pages in the family for the menu-link-itemfunction to insert in the one of the plurality of web pages, so thatresponsive to the first HTML file being rendered by the browser, thebrowser presents to a user the table for the one of the plurality of webpages, wherein the presented table includes highlighted text for the oneof the plurality of web pages and includes text and a link to anotherone of the web pages in the family.
 20. The computer system of claim 19,wherein the script file functions include a begin-menu function havingan HTML tag in the script file for beginning a table, and wherein thebegin-menu function includes a write-line function in the script file towrite a line to a web page, wherein the line includes the HTML tag forbeginning the table, and wherein the HTML file for the one of theplurality of web pages includes a call to the begin-menu function toformat the menu table, so that responsive to the first HTML file beingrendered by the browser a line is written to the one of the plurality ofweb pages, wherein the line includes the HTML tag for beginning the menutable.
 21. The computer system of claim 20, wherein in the HTML file forthe one of the plurality of web pages, the call to the begin-menufunction includes an argument for a width attribute of a table-data tagin the script file.
 22. The computer system of claim 19, wherein thescript file functions include a menu-spacer function for inserting spacein said menu table.
 23. The computer system of claim 22, wherein in theHTML file for the one of the plurality of web pages, the call to themenu-spacer function includes an argument for a function included in themenu-spacer function of the script file.
 24. The computer system ofclaim 20, wherein the script file functions include an end-of-menufunction having a tag in an argument thereof in the script file, whereinthe tag is for ending said menu table.